home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 July / EnigmA AMIGA RUN 20 (1997)(G.R. Edizioni)(IT)[!][issue 1997-07 & 08][EAR-CD IV].iso / earcd / biz / haage / stormc_w.lha / Wizard-Library / libraries / wizardextern.h < prev    next >
C/C++ Source or Header  |  1996-10-14  |  9KB  |  203 lines

  1. #ifndef    WIZARD_WIZARDEXTERN_H
  2. #define    WIZARD_WIZARDEXTERN_H
  3.  
  4. /*
  5. **    $VER: wizardextern.h 38.125 (20.09.96)
  6. **
  7. **    © 1996 HAAGE & PARTNER,  All Rights Reserved
  8. **      Autor: Thomas Mittelsdorf
  9. **
  10. */
  11.  
  12. /********************************************************************
  13. **                                                                 **
  14. ** Hook-Methoden, die zu den normalen System-Methoden kommen:      **
  15. **                                                                 **
  16. ** Alle hier aufgeführten Methoden, müssen an die die Subklasse    **
  17. ** weitergeleitet werden. Der Returnwert muß weitergegeben werden. **
  18. ** Damit Ihr externer Dispatcher aber Wizardfehigkeiten mitmacht,  **
  19. ** sollten Sie diese Methoden natürlich auch selbst beachten.      **
  20. ** Unbekannten Methoden sind an die Subklasse weiterzuleiten,      **
  21. ** dabei sollte der Returnwert durchgereicht werden.               **
  22. **                                                                 **
  23. ********************************************************************/
  24.  
  25. #define    WEXTERNM_LAYOUT                1048576
  26. #define    WEXTERNM_RENDERCLIP            1048580
  27. #define    WEXTERNM_KEYTEST                1048581
  28. #define    WEXTERNM_SETPATTERN            1048584
  29. #define    WEXTERNM_UPDATEPAGE            1048585
  30. #define    WEXTERNM_INSTALLCLIP            1048596
  31. #define    WEXTERNM_UNINSTALLCLIP        1048597
  32.  
  33. //**************************************************************
  34.  
  35. /********************************************************************
  36. **                                                                 **
  37. ** WEXTERNM_LAYOUT:                                                **
  38. **                                                                 **
  39. ** Diese Methode sendet der Layouter beim Fenster öffnen, wie auch **
  40. ** beim Fenstersizen. Updaten Sie also die Position und Dimension  **
  41. ** in der eigentlichen Gadget-Struktur. Die Boundsstruktur muß von **
  42. ** Subklasse gesetzt werden ! natürlich auch selbst beachten.      **
  43. ** Unbekannten Methoden sind an die Subklasse weiterzuleiten,      **
  44. ** dabei sollte der Returnwert durchgereiht werden.                **
  45. **                                                                 **
  46. **                                                                 **
  47. ** Der Returnwert muß übernommen werden !                          **
  48. **                                                                 **
  49. ********************************************************************/
  50.  
  51.  
  52. struct WizardExternLayout
  53. {
  54.     ULONG                     MethodID;
  55.     struct GadgetInfo *wepl_GInfo;
  56.     ULONG                     wepl_Privat;
  57.     struct IBox          wepl_Bounds;
  58.     struct IBox             wepl_FullBounds;
  59.     struct Rectangle     wepl_ClipRectangle;
  60. };
  61.  
  62. /********************************************************************
  63. **                                                                 **
  64. ** WEXTERNM_RENDERCLIP:                                            **
  65. **                                                                 **
  66. ** Diese Methode sendet der Layouter, wenn ein Gadget durch das    **
  67. ** übergeordnete Gruppengadget pixelweise verschoben wurde und     **
  68. ** dabei ein Bereich geupdatet werden muß ! Diser ist in der       **
  69. ** Clippingregion spezifiziert. Beachten Sie, das beim die hier    **
  70. ** angegebene Clippingregion mittels AND-Verknüpfung mit ihrer     **
  71. ** Clippingregion die Ihenen beim layouten mitgeteilt wurde, ver-  **
  72. ** knüpft werden muß !                                             **
  73. **                                                                 **
  74. ** Der Returnwert muß übernommen werden !                          **
  75. **                                                                 **
  76. ********************************************************************/
  77.  
  78. struct WizardExternRenderClip
  79. {
  80.     ULONG                     MethodID;
  81.     struct GadgetInfo *weprc_GInfo;
  82.     struct RastPort    *weprc_RPort;
  83.     struct Rectangle     weprc_ClipRectangle;
  84. };
  85.  
  86. /********************************************************************
  87. **                                                                 **
  88. ** WEXTERNM_SETPATTERN:                                            **
  89. **                                                                 **
  90. ** Diese Methode sendet der Layouter, wenn ein Gadget in seine     **
  91. ** Gruppe eingehangen wurde, beim ihren Dispatcher kann diese      **
  92. ** Methode also auch vor der New-Methode kommen !                  **
  93. ** Wenn Sie also freie Pixel haben, sollten Sie diese immer mit    **
  94. ** den hier angegebenen Design zeichnen.                           **
  95. **                                                                 **
  96. ** Der Returnwert muß übernommen werden !                          **
  97. **                                                                 **
  98. ********************************************************************/
  99.  
  100. struct WizardExternSetPattern
  101. {
  102.     ULONG  MethodID;
  103.     ULONG     wepsp_PatternPen;
  104.     ULONG  wepsp_PatternSz;
  105.     UWORD *wepsp_Pattern;
  106. };
  107.  
  108. /********************************************************************
  109. **                                                                 **
  110. ** WEXTERNM_UPDATEPAGE:                                            **
  111. **                                                                 **
  112. ** Diese Methode wird durch das Paging gesendet, möchte Ihre Klasse**
  113. ** dies handhaben, dann sollten Sie dies beachten.                 **
  114. **                                                                 **
  115. ** Der Returnwert muß übernommen werden !                          **
  116. **                                                                 **
  117. ********************************************************************/
  118.  
  119. struct WizardExternUpdatePage
  120. {
  121.     ULONG    MethodID;
  122.     struct GadgetInfo *wepup_GInfo;
  123.     ULONG                    *wepup_Privat;
  124.     ULONG                     wepup_Active;
  125. };
  126.  
  127. /********************************************************************
  128. **                                                                 **
  129. ** WEXTERNM_KEYTEST   :                                            **
  130. **                                                                 **
  131. ** Diese Methode wird bei einem WZ_GadgetKey() gesandt.            **
  132. **                                                                 **
  133. ** Returnwert:                                                     **
  134. **                                                                 **
  135. **    FALSE- Gadget ist nicht zuständig.                           **
  136. **                                                                 **
  137. **    TRUE - Gadget ist zuständig.                                 **
  138. **           ActivateGadget = Gadget, wenn`s aktiviert werden soll **
  139. **                          = NULL, wenn nicht aktivieren          **
  140. **                                                                 **
  141. **                                                                 **
  142. **                                                                 **
  143. ********************************************************************/
  144.  
  145. struct WizardExternKeyTest
  146. {
  147.     ULONG    MethodID;
  148.     struct GadgetInfo *wepkt_GInfo;
  149.     struct Gadget        *wepkt_ActivateGadget;
  150.     ULONG                     wepkt_Return;
  151.     UWORD                     wepkt_Qualifier;
  152.     UWORD                     wepkt_Key;
  153. };
  154.  
  155. /* ReturnWert = True, wenn dieses Gadget zuständig war
  156. ** danach dann mit diesem Gadget ActiveGadget durchführen !!!
  157. */
  158.  
  159.  
  160. /********************************************************************
  161. **                                                                 **
  162. ** WEXTERNM_INSTALLCLIP:                                           **
  163. **                                                                 **
  164. ** Diese Methode kann an die Supperklasse geschickt werden.        **
  165. ** Dazu muß die Layoutmethod ebenfalls an die Supperklasse weiter- **
  166. ** geleitet werden.                                                **
  167. **                                                                 **
  168. ** Der Returnwert ist TRUE, wenn die Clippingregion erfolgrich     **
  169. ** installiert wurd.                                               **
  170. **                                                                 **
  171. ********************************************************************/
  172.  
  173.  
  174. struct WizardExternInstallClip
  175. {
  176.     ULONG    MethodID;
  177.     struct GadgetInfo  *wepic_GInfo;
  178.     struct Region        **wepic_OldRegion;
  179. };
  180.  
  181. /********************************************************************
  182. **                                                                 **
  183. ** WEXTERNM_UNINSTALLCLIP:                                         **
  184. **                                                                 **
  185. ** Diese Methode kann an die Supperklasse geschickt werden.        **
  186. ** Dazu muß die Layoutmethod ebenfalls an die Supperklasse weiter- **
  187. ** geleitet werden.                                                **
  188. **                                                                 **
  189. ** Der Returnwert ist TRUE, wenn die Clippingregion erfolgrich     **
  190. ** installiert wurd.                                               **
  191. **                                                                 **
  192. ********************************************************************/
  193.  
  194.  
  195. struct WizardExternUnInstallClip
  196. {
  197.     ULONG    MethodID;
  198.     struct GadgetInfo *wepuic_GInfo;
  199.     struct Region        *wepuic_Region;
  200. };
  201.  
  202. #endif /* WIZARD_WIZARDVIEW_H */
  203.